package com.category.douyijia.services;

import java.util.ArrayList;
import java.util.List;

import com.category.douyijia.base.BaseService;
import com.category.douyijia.model.OrdMang;
import com.category.douyijia.model.Type;

/**
 * 创建的类继承基础类 ，实现增删改查功能
 * 基础类里利用的是键值对
 * @author jiangmengyang
 * @version v1.0
 * date time 2021年7月19日10:04:27
 */
public class TypeService extends BaseService<TypeService,Type> {
   
	/**
	 * 创建一个空对象
	 * 修改数据时往里面传值
	 * 只能传一个值
	 */
	private Type type = null;
	/**
	 * 类目表集合里面的实体类
	 */
	private Type types = null;
	/**
	 * 建立一个DAO模板
	 * 写增删改查功能时更简便
	 * 利用的是jfinal的方法
	 * 使数据更简便
	 */
	public static Type typeDao = (Type)new Type().dao();
	/**
	    *将Typeg的对象添加到数据库
	    * @param type
	    * type为数据表的一个参数
	    * 参数里有值包括列名
	    * @return
	    * 如果type 不为空添加数据库成功
	    * 如果typeg为空添加不了数据库
	    */
 public boolean put(Type type) {
	   if(type!=null && !(type.equals(""))) {
		   return type.save();
	   }else {
		   System.out.println("参数为空！");
		   return false;
	   }
}
 /**
  * 查询表里的全部数据
  * 建一个ArrayList包
  * @return
  *返回的是所有的信息
  *
  */
 public List<Type> findAll() {
 	return (ArrayList)typeDao.findAll();
 }
 /**
  * 这是通过类目编号查询类目表里的数据
  * @param typeId
  * 通过id查找类目表里的全部信息
  * @return
  * typeId如果不为空的话就返回，
  * 类目表里的所查找的那些列
  * typeId如果为空的话，
  * 返回的结果是一个空值
  */
 public Type findByTypeId(String typeId){
 	if(typeId!=null && !(typeId.equals(""))) {
 		return (Type) this.type.find("select "
 				+ "type_id,type_name "
 				+ "from Type "
 				+ "where type_id"
 				+ " =?", typeId);		
 	}else {
 		return null;
 	}
 }
 /**
  * 通过类目名称查询，
  * 类目表里的所有数据
  * @param  typeName
  * @return
  * typeName如果不为空的话就返回，
  * 类目表里的所查找的那些列
  *  typeName如果为空的话，
  * 返回的结果是一个空值
  */
 public List<Type> findByComName(String  typeName){
 	if( typeName!=null && !( typeName.equals(""))) {
 		return (ArrayList)type.find("select type_id,type_name"
 				+ " from Type "
 				+ "where type_name"
 				+ " = ?",typeName);	
 	}else {
 		return null;
 	}
 }
 /**
  * 先查询再通过typeId删除数据库里的数据
  * 通过typeId删除表里的一行数据
  * @param typeId
  * @return
  * type如果不为空的话结果为ture
  * type如果为空的话结果为false
  */
 public boolean deleteByTypeId(String  typeId){
 	type = findByTypeId(typeId);
 	if (type != null) {
 		return type.dao().delete();
		}
 	return false;
 }
 /**
  * 通过id更改到数据库
  * 建一个List包
  * 利用List这个可以是读者
  * 简而意之的看到原来的数据
  * 更有利于比较，简便
  * @param typeId
  *创建的一个参数 
  *保存类目对象
  * @return
  * 布尔类型
  * typeId不为空执行if中语句结果不为空的话显示ture
  * 结果为空的话显示false
  */
 public boolean updateByTypeId(String typeId) {
 if(typeId!=null && !(typeId.equals(""))) {
 	List<Type> typeList = (List<Type>) typeDao.findById(typeId);
 	types = (Type) typeList;
 	return types.dao()._setAttrs(type).update();
 }else{
 	return false;
 }
}
}
